"""
encoding = 'utf-8'
@author : ffine
@time   : 2022-04-30  19:39
@IDEA   : PyCharm
@goal   : learning time module
"""
import time


print("time.time:",time.time())

# 本地时间
print("time.localtime:",time.localtime())
print("time.localtime:",time.localtime(time.time()))

# UTC时间
print("time.gmtime:",time.gmtime())
print("time.gmtime:",time.gmtime(time.time()))

print("time.asctime:",time.asctime())
print("time.asctime:",time.asctime(time.localtime()))

# 格式化时间
print("time.ctime:",time.ctime())
print("time.ctime:",time.ctime(time.time()))

# %a 星期几的简写, %A 星期几的全称, %b 月份的简写, %B 月份的全称, %c 标准的日期的时间串, %d 十进制表示的每月中的一天（01-31）, %H 24小时制的小时数（0-23）,
# %I 12小时制的小时数（01-12）, %j 十进制表示的每年中的一天（001-366）, %m 十进制表示的每月（01-12）, %M 十时制表示的分钟数（00-59）, %p 显示AM或PM,
# %S 十进制表示的秒数（00-61）, %U 从星期一开始的星期数（00-53）, %w 十进制表示的星期几（0-6）, %W 从星期一开始的年份（00-53）, %x 标准的日期串,
# %X 标准的时间串, %y 十进制年份的后两位数（00-99）, %Y 十进制年份（000-9999）, %z 当前时区的时区偏移数, %Z 当前时区的
print("time.strftime:",time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime()))
print("time.strftime:",time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(time.time())))

print("time.strftime:",time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
print("time.strftime:",time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())))

# 格式化时间 > 结构化时间
print("time.strptime:",time.strptime("2020-04-30 19:39:00", "%Y-%m-%d %H:%M:%S"))


# sleep
print("开始睡眠...")
t1 = time.time()
print("time.sleep:",t1)
time.sleep(2.11)
print("睡眠结束...:",time.time())
print("执行了{:.3f}秒".format(time.time()-t1))


# 结构化时间 > 时间戳
print(time.time())
print(time.mktime(time.localtime()))    # 精度为秒

t = time.perf_counter()
time.sleep(2)
print(time.perf_counter()-t)